﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BussinesLayer.Clases;
using Utilities;

namespace Aplicacion.Configuracion.FormaPago
{
    public partial class frmModificaFormaPago : Form
    {
        BussinesFormaPago formapago;
        private int id;
        private ErrorProvider mierror=new ErrorProvider();
        private Boolean guardar = false;

        public frmModificaFormaPago()
        {
            InitializeComponent();
        }

        private void frmModificaFormaPago_Load(object sender, EventArgs e)
        {

        }

        /// <summary>
        /// carga la forma de pago que a seleccionado de la grilla
        /// </summary>
        /// <param name="registro"></param>
        public void CargaFormaPago(DataGridViewRow registro)
        {
            id = Convert.ToInt32(registro.Cells[0].Value);
            this.txtmodificaFormaPago.Text = Convert.ToString(registro.Cells[1].Value);
        }

        /// <summary>
        /// modifica forma pago
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void tsModificarGuardar_Click(object sender, EventArgs e)
        {
            txtmodificaFormaPago_Validating(null, null);
            if (guardar)
            {

                formapago = new BussinesFormaPago();
                var modificarFormaPago = new DTO.Clases.FormaPago();
                try
                {
                    modificarFormaPago.IdFormaPago = id;
                    modificarFormaPago.NombreFormaPago = txtmodificaFormaPago.Text;
                    formapago.ModificarformaPago(modificarFormaPago);
                    MessageBox.Show(string.Format("se a guardado exitosamente"));

                }

                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }


        /// <summary>
        /// valido campos nolos y formato de celda
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void txtmodificaFormaPago_Validating(object sender, CancelEventArgs e)
        {
            if (!Validacion.EsVacio(txtmodificaFormaPago,mierror,"El Campo es Requerido"))
            {
                if (Validacion.ConFormato(Validacion.TipoValidacion.Palabras, txtmodificaFormaPago,
                    mierror, "El Texto Tiene Formato Incorrecto"))
                {
                    guardar=true;
                }
                else
                {
                    guardar=false;
                }
            }
            else
            {
                guardar = false;
            }

        }

        private void tsbtnSalir_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        
    }
}
